<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.9.1"/>
<title>IDA SDK: graph.hpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">IDA SDK
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="files.html"><span>Header&#160;Files</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">graph.hpp File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Graph view management. </p>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structnode__info__t.html">node_info_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Information about a node in a graph.  <a href="structnode__info__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classnode__ordering__t.html">node_ordering_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Node ordering in a graph.  <a href="classnode__ordering__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structedge__t.html">edge_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Edge connecting two graph nodes.  <a href="structedge__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgraph__node__visitor__t.html">graph_node_visitor_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Node visitor - see <a class="el" href="classabstract__graph__t.html#a1b5fea46ace6b1d8647b8dc18f9e4749" title="Visit nodes starting from &#39;node&#39;, depth first. ">abstract_graph_t::visit_nodes()</a>  <a href="classgraph__node__visitor__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgraph__path__visitor__t.html">graph_path_visitor_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Path visitor - see <a class="el" href="classabstract__graph__t.html#a2364d0153654aa850668f9f64611f586" title="Visit all possible paths starting from &#39;node&#39;. ">abstract_graph_t::visit_paths()</a>  <a href="structgraph__path__visitor__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpoint__t.html">point_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Coordinate in a graph view.  <a href="structpoint__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classpointseq__t.html">pointseq_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Ordered sequence of points.  <a href="classpointseq__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrect__t.html">rect_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A rectangle in a graph view.  <a href="structrect__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_t_point_double.html">TPointDouble</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Coordinate in a graph view (double precision)  <a href="struct_t_point_double.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structedge__info__t.html">edge_info_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attributes of a graph edge.  <a href="structedge__info__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structedge__layout__point__t.html">edge_layout_point_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Edge layout point.  <a href="structedge__layout__point__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structselection__item__t.html">selection_item_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Element of a graph selection - could be a node or edge layout point.  <a href="structselection__item__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structscreen__graph__selection__t.html">screen_graph_selection_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Selection in a graph.  <a href="structscreen__graph__selection__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structedge__segment__t.html">edge_segment_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sub-segment of a graph edge.  <a href="structedge__segment__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgraph__item__t.html">graph_item_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Describes a sub-item of a graph.  <a href="classgraph__item__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structinterval__t.html">interval_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">One dimensional range.  <a href="structinterval__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structrow__info__t.html">row_info_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Organize graph nodes by row.  <a href="structrow__info__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classabstract__graph__t.html">abstract_graph_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abstract graph interface.  <a href="classabstract__graph__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structedge__infos__wrapper__t.html">edge_infos_wrapper_t</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classmutable__graph__t.html">mutable_graph_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base class used by graphs in IDA.  <a href="classmutable__graph__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgraph__visitor__t.html">graph_visitor_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Visit all nodes and edges in a graph.  <a href="classgraph__visitor__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structgroup__crinfo__t.html">group_crinfo_t</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structuser__graph__place__t.html">user_graph_place_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Structure returned by <a class="el" href="kernwin_8hpp.html#a888ed62f71b1b711dcdb240b210307a0" title="Get current place in a custom viewer (ui_get_curplace). ">get_custom_viewer_place()</a> if the first parameter is a graph viewer.  <a href="structuser__graph__place__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a9180cd747740ca2f55b61fff3359dca6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#a9180cd747740ca2f55b61fff3359dca6">get_node_info</a> (<a class="el" href="structnode__info__t.html">node_info_t</a> *out, <a class="el" href="graph_8hpp.html#a82af93bb7b5138045e9db058f4b9cab9">graph_id_t</a> gid, int node)</td></tr>
<tr class="memdesc:a9180cd747740ca2f55b61fff3359dca6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get node info.  <a href="#a9180cd747740ca2f55b61fff3359dca6">More...</a><br /></td></tr>
<tr class="separator:a9180cd747740ca2f55b61fff3359dca6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a33b3a1d3c9a37011d8d56dbd1fdeca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> void <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#a9a33b3a1d3c9a37011d8d56dbd1fdeca">set_node_info</a> (<a class="el" href="graph_8hpp.html#a82af93bb7b5138045e9db058f4b9cab9">graph_id_t</a> gid, int node, const <a class="el" href="structnode__info__t.html">node_info_t</a> &amp;ni, <a class="el" href="pro_8h.html#a1134b580f8da4de94ca6b1de4d37975e">uint32</a> flags)</td></tr>
<tr class="memdesc:a9a33b3a1d3c9a37011d8d56dbd1fdeca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set node info.  <a href="#a9a33b3a1d3c9a37011d8d56dbd1fdeca">More...</a><br /></td></tr>
<tr class="separator:a9a33b3a1d3c9a37011d8d56dbd1fdeca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a683b8ccf7d4f98ba51950f99f915fd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7a683b8ccf7d4f98ba51950f99f915fd"></a>
<a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> void <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#a7a683b8ccf7d4f98ba51950f99f915fd">del_node_info</a> (<a class="el" href="graph_8hpp.html#a82af93bb7b5138045e9db058f4b9cab9">graph_id_t</a> gid, int node)</td></tr>
<tr class="memdesc:a7a683b8ccf7d4f98ba51950f99f915fd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete the <a class="el" href="structnode__info__t.html" title="Information about a node in a graph. ">node_info_t</a> for the given node. <br /></td></tr>
<tr class="separator:a7a683b8ccf7d4f98ba51950f99f915fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8897ac8378084bd06bc992f2a8d81a70"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> void <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#a8897ac8378084bd06bc992f2a8d81a70">clr_node_info</a> (<a class="el" href="graph_8hpp.html#a82af93bb7b5138045e9db058f4b9cab9">graph_id_t</a> gid, int node, <a class="el" href="pro_8h.html#a1134b580f8da4de94ca6b1de4d37975e">uint32</a> flags)</td></tr>
<tr class="memdesc:a8897ac8378084bd06bc992f2a8d81a70"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear node info for the given node.  <a href="#a8897ac8378084bd06bc992f2a8d81a70">More...</a><br /></td></tr>
<tr class="separator:a8897ac8378084bd06bc992f2a8d81a70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3155625636d02d5acfe25a626c977fb2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3155625636d02d5acfe25a626c977fb2"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#a3155625636d02d5acfe25a626c977fb2">calc_dist</a> (<a class="el" href="structpoint__t.html">point_t</a> p, <a class="el" href="structpoint__t.html">point_t</a> q)</td></tr>
<tr class="memdesc:a3155625636d02d5acfe25a626c977fb2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate distance between p and q. <br /></td></tr>
<tr class="separator:a3155625636d02d5acfe25a626c977fb2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f8cf4d675de4aae5fbc3f57ba47d5c4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="graph_8hpp.html#a6a4e00bdf5d8ad6ff4a8930ba922b067">graph_viewer_t</a> *<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#a2f8cf4d675de4aae5fbc3f57ba47d5c4">create_graph_viewer</a> (const char *title, <a class="el" href="pro_8h.html#aef265b11f25357d520dcfd40aa8c18f3">uval_t</a> id, <a class="el" href="idp_8hpp.html#acf012fe005690e1af26e799617fc98b7">hook_cb_t</a> *callback, void *ud, int title_height, TWidget *parent=NULL)</td></tr>
<tr class="memdesc:a2f8cf4d675de4aae5fbc3f57ba47d5c4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a custom graph viewer.  <a href="#a2f8cf4d675de4aae5fbc3f57ba47d5c4">More...</a><br /></td></tr>
<tr class="separator:a2f8cf4d675de4aae5fbc3f57ba47d5c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33c94d1876246325b00d36ae1fea9fde"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a33c94d1876246325b00d36ae1fea9fde"></a>
<a class="el" href="graph_8hpp.html#a6a4e00bdf5d8ad6ff4a8930ba922b067">graph_viewer_t</a> *<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#a33c94d1876246325b00d36ae1fea9fde">get_graph_viewer</a> (TWidget *parent)</td></tr>
<tr class="memdesc:a33c94d1876246325b00d36ae1fea9fde"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get custom graph viewer for given form. <br /></td></tr>
<tr class="separator:a33c94d1876246325b00d36ae1fea9fde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5df0773b00208be3aa316bfffaa98f63"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5df0773b00208be3aa316bfffaa98f63"></a>
<a class="el" href="classmutable__graph__t.html">mutable_graph_t</a> *<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#a5df0773b00208be3aa316bfffaa98f63">create_mutable_graph</a> (<a class="el" href="pro_8h.html#aef265b11f25357d520dcfd40aa8c18f3">uval_t</a> id)</td></tr>
<tr class="memdesc:a5df0773b00208be3aa316bfffaa98f63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new empty graph with given id. <br /></td></tr>
<tr class="separator:a5df0773b00208be3aa316bfffaa98f63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1bbf69747b1dad8589620d7f69d719bb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1bbf69747b1dad8589620d7f69d719bb"></a>
<a class="el" href="classmutable__graph__t.html">mutable_graph_t</a> *<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#a1bbf69747b1dad8589620d7f69d719bb">create_disasm_graph</a> (<a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a> ea)</td></tr>
<tr class="memdesc:a1bbf69747b1dad8589620d7f69d719bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a graph for the function that contains 'ea'. <br /></td></tr>
<tr class="separator:a1bbf69747b1dad8589620d7f69d719bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aefabfff7ea927bb442d4bfb80f3eb8d8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aefabfff7ea927bb442d4bfb80f3eb8d8"></a>
<a class="el" href="classmutable__graph__t.html">mutable_graph_t</a> *<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#aefabfff7ea927bb442d4bfb80f3eb8d8">create_disasm_graph</a> (const rangevec_t &amp;ranges)</td></tr>
<tr class="memdesc:aefabfff7ea927bb442d4bfb80f3eb8d8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a graph using an arbitrary set of ranges. <br /></td></tr>
<tr class="separator:aefabfff7ea927bb442d4bfb80f3eb8d8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e7070a663be797bb8ff1484ecdfa4ad"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4e7070a663be797bb8ff1484ecdfa4ad"></a>
<a class="el" href="classmutable__graph__t.html">mutable_graph_t</a> *<a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#a4e7070a663be797bb8ff1484ecdfa4ad">get_viewer_graph</a> (<a class="el" href="graph_8hpp.html#a6a4e00bdf5d8ad6ff4a8930ba922b067">graph_viewer_t</a> *gv)</td></tr>
<tr class="memdesc:a4e7070a663be797bb8ff1484ecdfa4ad"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get graph object for given custom graph viewer. <br /></td></tr>
<tr class="separator:a4e7070a663be797bb8ff1484ecdfa4ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a004fa6de6d0ea9e2711b927a7311a911"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a004fa6de6d0ea9e2711b927a7311a911"></a>
void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#a004fa6de6d0ea9e2711b927a7311a911">set_viewer_graph</a> (<a class="el" href="graph_8hpp.html#a6a4e00bdf5d8ad6ff4a8930ba922b067">graph_viewer_t</a> *gv, <a class="el" href="classmutable__graph__t.html">mutable_graph_t</a> *g)</td></tr>
<tr class="memdesc:a004fa6de6d0ea9e2711b927a7311a911"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the underlying graph object for the given viewer. <br /></td></tr>
<tr class="separator:a004fa6de6d0ea9e2711b927a7311a911"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10b7bfe95168e7494ea83a6d4751506b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a10b7bfe95168e7494ea83a6d4751506b"></a>
void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#a10b7bfe95168e7494ea83a6d4751506b">refresh_viewer</a> (<a class="el" href="graph_8hpp.html#a6a4e00bdf5d8ad6ff4a8930ba922b067">graph_viewer_t</a> *gv)</td></tr>
<tr class="memdesc:a10b7bfe95168e7494ea83a6d4751506b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Redraw the graph in the given view. <br /></td></tr>
<tr class="separator:a10b7bfe95168e7494ea83a6d4751506b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af551efa22ddaba173ac7cc6d74c5a83a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af551efa22ddaba173ac7cc6d74c5a83a"></a>
void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#af551efa22ddaba173ac7cc6d74c5a83a">viewer_fit_window</a> (<a class="el" href="graph_8hpp.html#a6a4e00bdf5d8ad6ff4a8930ba922b067">graph_viewer_t</a> *gv)</td></tr>
<tr class="memdesc:af551efa22ddaba173ac7cc6d74c5a83a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fit graph viewer to its parent form. <br /></td></tr>
<tr class="separator:af551efa22ddaba173ac7cc6d74c5a83a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53371375deb94eec55451b075b7aec59"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a53371375deb94eec55451b075b7aec59"></a>
int <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#a53371375deb94eec55451b075b7aec59">viewer_get_curnode</a> (<a class="el" href="graph_8hpp.html#a6a4e00bdf5d8ad6ff4a8930ba922b067">graph_viewer_t</a> *gv)</td></tr>
<tr class="memdesc:a53371375deb94eec55451b075b7aec59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get number of currently selected node (-1 if none) <br /></td></tr>
<tr class="separator:a53371375deb94eec55451b075b7aec59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6dd9196b877d8c6bfd05768806f4bed"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa6dd9196b877d8c6bfd05768806f4bed"></a>
void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#aa6dd9196b877d8c6bfd05768806f4bed">viewer_center_on</a> (<a class="el" href="graph_8hpp.html#a6a4e00bdf5d8ad6ff4a8930ba922b067">graph_viewer_t</a> *gv, int node)</td></tr>
<tr class="memdesc:aa6dd9196b877d8c6bfd05768806f4bed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Center the graph view on the given node. <br /></td></tr>
<tr class="separator:aa6dd9196b877d8c6bfd05768806f4bed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4734bb396ceb5fe074a4fb962c7da31e"><td class="memItemLeft" align="right" valign="top">void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#a4734bb396ceb5fe074a4fb962c7da31e">viewer_set_gli</a> (<a class="el" href="graph_8hpp.html#a6a4e00bdf5d8ad6ff4a8930ba922b067">graph_viewer_t</a> *gv, const graph_location_info_t *gli, <a class="el" href="pro_8h.html#a1134b580f8da4de94ca6b1de4d37975e">uint32</a> flags=0)</td></tr>
<tr class="memdesc:a4734bb396ceb5fe074a4fb962c7da31e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set location info for given graph view If flags contains GLICTL_CENTER, then the gli will be set to be the center of the view.  <a href="#a4734bb396ceb5fe074a4fb962c7da31e">More...</a><br /></td></tr>
<tr class="separator:a4734bb396ceb5fe074a4fb962c7da31e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5db5120b806800f2e9cab9ccb211fb45"><td class="memItemLeft" align="right" valign="top">bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#a5db5120b806800f2e9cab9ccb211fb45">viewer_get_gli</a> (graph_location_info_t *out, <a class="el" href="graph_8hpp.html#a6a4e00bdf5d8ad6ff4a8930ba922b067">graph_viewer_t</a> *gv, <a class="el" href="pro_8h.html#a1134b580f8da4de94ca6b1de4d37975e">uint32</a> flags=0)</td></tr>
<tr class="memdesc:a5db5120b806800f2e9cab9ccb211fb45"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get location info for given graph view If flags contains GLICTL_CENTER, then the gli that will be retrieved, will be the one at the center of the view.  <a href="#a5db5120b806800f2e9cab9ccb211fb45">More...</a><br /></td></tr>
<tr class="separator:a5db5120b806800f2e9cab9ccb211fb45"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e2134d0c20f221f721ee4954763c419"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9e2134d0c20f221f721ee4954763c419"></a>
void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#a9e2134d0c20f221f721ee4954763c419">viewer_set_node_info</a> (<a class="el" href="graph_8hpp.html#a6a4e00bdf5d8ad6ff4a8930ba922b067">graph_viewer_t</a> *gv, int n, const <a class="el" href="structnode__info__t.html">node_info_t</a> &amp;ni, <a class="el" href="pro_8h.html#a1134b580f8da4de94ca6b1de4d37975e">uint32</a> flags)</td></tr>
<tr class="memdesc:a9e2134d0c20f221f721ee4954763c419"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set node info for node in given viewer (see <a class="el" href="graph_8hpp.html#a9a33b3a1d3c9a37011d8d56dbd1fdeca" title="Set node info. ">set_node_info()</a>) <br /></td></tr>
<tr class="separator:a9e2134d0c20f221f721ee4954763c419"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fd5e32edbc03622acb9e6173c21278f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6fd5e32edbc03622acb9e6173c21278f"></a>
bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#a6fd5e32edbc03622acb9e6173c21278f">viewer_get_node_info</a> (<a class="el" href="graph_8hpp.html#a6a4e00bdf5d8ad6ff4a8930ba922b067">graph_viewer_t</a> *gv, <a class="el" href="structnode__info__t.html">node_info_t</a> *out, int n)</td></tr>
<tr class="memdesc:a6fd5e32edbc03622acb9e6173c21278f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get node info for node in given viewer (see <a class="el" href="graph_8hpp.html#a9180cd747740ca2f55b61fff3359dca6" title="Get node info. ">get_node_info()</a>) <br /></td></tr>
<tr class="separator:a6fd5e32edbc03622acb9e6173c21278f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec726c555b2e3ff7ffc3fa6388e1ab18"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aec726c555b2e3ff7ffc3fa6388e1ab18"></a>
void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#aec726c555b2e3ff7ffc3fa6388e1ab18">viewer_del_node_info</a> (<a class="el" href="graph_8hpp.html#a6a4e00bdf5d8ad6ff4a8930ba922b067">graph_viewer_t</a> *gv, int n)</td></tr>
<tr class="memdesc:aec726c555b2e3ff7ffc3fa6388e1ab18"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete node info for node in given viewer (see <a class="el" href="graph_8hpp.html#a7a683b8ccf7d4f98ba51950f99f915fd" title="Delete the node_info_t for the given node. ">del_node_info()</a>) <br /></td></tr>
<tr class="separator:aec726c555b2e3ff7ffc3fa6388e1ab18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b6b4dbf2a1d9d2200152ef7957f0896"><td class="memItemLeft" align="right" valign="top">bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#a7b6b4dbf2a1d9d2200152ef7957f0896">viewer_create_groups</a> (<a class="el" href="graph_8hpp.html#a6a4e00bdf5d8ad6ff4a8930ba922b067">graph_viewer_t</a> *gv, <a class="el" href="pro_8h.html#a16a891be237a47eac68383da2ebc2fa6">intvec_t</a> *out_group_nodes, const <a class="el" href="classqvector.html">groups_crinfos_t</a> &amp;gi)</td></tr>
<tr class="memdesc:a7b6b4dbf2a1d9d2200152ef7957f0896"><td class="mdescLeft">&#160;</td><td class="mdescRight">This will perform an operation similar to what happens when a user manually selects a set of nodes, right-clicks and selects "Create group".  <a href="#a7b6b4dbf2a1d9d2200152ef7957f0896">More...</a><br /></td></tr>
<tr class="separator:a7b6b4dbf2a1d9d2200152ef7957f0896"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ce86735da8bd32f757144dee5ce042e"><td class="memItemLeft" align="right" valign="top">bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#a2ce86735da8bd32f757144dee5ce042e">viewer_delete_groups</a> (<a class="el" href="graph_8hpp.html#a6a4e00bdf5d8ad6ff4a8930ba922b067">graph_viewer_t</a> *gv, const <a class="el" href="pro_8h.html#a16a891be237a47eac68383da2ebc2fa6">intvec_t</a> &amp;groups, int new_current=-1)</td></tr>
<tr class="memdesc:a2ce86735da8bd32f757144dee5ce042e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around mutable_graph_t::delete_group.  <a href="#a2ce86735da8bd32f757144dee5ce042e">More...</a><br /></td></tr>
<tr class="separator:a2ce86735da8bd32f757144dee5ce042e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33ccbc2cc7d0a5eabdc2f3314cfd7301"><td class="memItemLeft" align="right" valign="top">bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#a33ccbc2cc7d0a5eabdc2f3314cfd7301">viewer_set_groups_visibility</a> (<a class="el" href="graph_8hpp.html#a6a4e00bdf5d8ad6ff4a8930ba922b067">graph_viewer_t</a> *gv, const <a class="el" href="pro_8h.html#a16a891be237a47eac68383da2ebc2fa6">intvec_t</a> &amp;groups, bool expand, int new_current=-1)</td></tr>
<tr class="memdesc:a33ccbc2cc7d0a5eabdc2f3314cfd7301"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper around mutable_graph_t::change_visibility.  <a href="#a33ccbc2cc7d0a5eabdc2f3314cfd7301">More...</a><br /></td></tr>
<tr class="separator:a33ccbc2cc7d0a5eabdc2f3314cfd7301"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a562129a8e29bdf9d9462027a22a725ae"><td class="memItemLeft" align="right" valign="top">bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#a562129a8e29bdf9d9462027a22a725ae">viewer_attach_menu_item</a> (<a class="el" href="graph_8hpp.html#a6a4e00bdf5d8ad6ff4a8930ba922b067">graph_viewer_t</a> *g, const char *name)</td></tr>
<tr class="memdesc:a562129a8e29bdf9d9462027a22a725ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Attach a previously-registered action to the view's context menu.  <a href="#a562129a8e29bdf9d9462027a22a725ae">More...</a><br /></td></tr>
<tr class="separator:a562129a8e29bdf9d9462027a22a725ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa34280672acc8d7822b4ce828ee08961"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa34280672acc8d7822b4ce828ee08961"></a>
bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#aa34280672acc8d7822b4ce828ee08961">viewer_get_selection</a> (<a class="el" href="graph_8hpp.html#a6a4e00bdf5d8ad6ff4a8930ba922b067">graph_viewer_t</a> *gv, <a class="el" href="structscreen__graph__selection__t.html">screen_graph_selection_t</a> *sgs)</td></tr>
<tr class="memdesc:aa34280672acc8d7822b4ce828ee08961"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get currently selected items for graph viewer. <br /></td></tr>
<tr class="separator:aa34280672acc8d7822b4ce828ee08961"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73957876803ab3946feee2ef6f086f35"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a73957876803ab3946feee2ef6f086f35"></a>
int <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#a73957876803ab3946feee2ef6f086f35">viewer_set_titlebar_height</a> (<a class="el" href="graph_8hpp.html#a6a4e00bdf5d8ad6ff4a8930ba922b067">graph_viewer_t</a> *gv, int height)</td></tr>
<tr class="memdesc:a73957876803ab3946feee2ef6f086f35"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set height of node title bars (<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aaaa5518609f9cd4f2a84e5880be31f587" title="use viewer_set_titlebar_height() ">grcode_set_titlebar_height</a>) <br /></td></tr>
<tr class="separator:a73957876803ab3946feee2ef6f086f35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f3337111f08d4a141ee4058c2b9dc90"><td class="memItemLeft" align="right" valign="top">void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#a1f3337111f08d4a141ee4058c2b9dc90">delete_mutable_graph</a> (<a class="el" href="classmutable__graph__t.html">mutable_graph_t</a> *g)</td></tr>
<tr class="memdesc:a1f3337111f08d4a141ee4058c2b9dc90"><td class="mdescLeft">&#160;</td><td class="mdescRight">Delete graph object.  <a href="#a1f3337111f08d4a141ee4058c2b9dc90">More...</a><br /></td></tr>
<tr class="separator:a1f3337111f08d4a141ee4058c2b9dc90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0dad3f8415c4b64d4468ae8e7f59dbf6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0dad3f8415c4b64d4468ae8e7f59dbf6"></a>
<a class="el" href="structuser__graph__place__t.html">user_graph_place_t</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#a0dad3f8415c4b64d4468ae8e7f59dbf6">create_user_graph_place</a> (int node, int lnnum)</td></tr>
<tr class="memdesc:a0dad3f8415c4b64d4468ae8e7f59dbf6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a copy of a <a class="el" href="structuser__graph__place__t.html" title="Structure returned by get_custom_viewer_place() if the first parameter is a graph viewer...">user_graph_place_t</a> (returns a pointer to static storage) <br /></td></tr>
<tr class="separator:a0dad3f8415c4b64d4468ae8e7f59dbf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">grentry</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>IDA designates a function for handling graph operations (::grentry).</p>
<p>This function accepts a notification code (<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638a" title="Graph notification codes. ">graph_notification_t</a>), along with a list of relevant arguments, and handles the action appropriately (similar to <a class="el" href="kernwin_8hpp.html#ac113029c6eff6a6476cd787a6a59f0e8" title="Pointer to the user-interface dispatcher function. ">callui</a> in <a class="el" href="kernwin_8hpp.html" title="Defines the interface between the kernel and the UI. ">kernwin.hpp</a>). </p>
</div></td></tr>
<tr class="memitem:ac4282ba4c6e0a401200347bee2e46a51"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac4282ba4c6e0a401200347bee2e46a51"></a>
<a class="el" href="pro_8h.html#ab65ed42d67e6c517c746ff2a6a187016">ssize_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>grentry</b> (<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638a">graph_notification_t</a> event_code,...)</td></tr>
<tr class="separator:ac4282ba4c6e0a401200347bee2e46a51"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga5688bdf1ebd5f56f14cea113eba3e21b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5688bdf1ebd5f56f14cea113eba3e21b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___n_i_f__.html#ga5688bdf1ebd5f56f14cea113eba3e21b">NIF_BG_COLOR</a>&#160;&#160;&#160;(1 &lt;&lt; 0)</td></tr>
<tr class="memdesc:ga5688bdf1ebd5f56f14cea113eba3e21b"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="structnode__info__t.html#a7caea4d93998d2198fcdc0dbb155f6ae" title="background color ">node_info_t::bg_color</a> <br /></td></tr>
<tr class="separator:ga5688bdf1ebd5f56f14cea113eba3e21b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa95a59e31ba9f19fcfb95e68076d8869"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa95a59e31ba9f19fcfb95e68076d8869"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___n_i_f__.html#gaa95a59e31ba9f19fcfb95e68076d8869">NIF_FRAME_COLOR</a>&#160;&#160;&#160;(1 &lt;&lt; 1)</td></tr>
<tr class="memdesc:gaa95a59e31ba9f19fcfb95e68076d8869"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="structnode__info__t.html#a20de596f26b9c470230a1aa68f25155d" title="color of enclosing frame ">node_info_t::frame_color</a> <br /></td></tr>
<tr class="separator:gaa95a59e31ba9f19fcfb95e68076d8869"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad5f596d2be80ac102de58cb502613063"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad5f596d2be80ac102de58cb502613063"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___n_i_f__.html#gad5f596d2be80ac102de58cb502613063">NIF_EA</a>&#160;&#160;&#160;(1 &lt;&lt; 2)</td></tr>
<tr class="memdesc:gad5f596d2be80ac102de58cb502613063"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="structnode__info__t.html#a6cca7ccf2fcdf3904bd05a1319ee2d81" title="address ">node_info_t::ea</a> <br /></td></tr>
<tr class="separator:gad5f596d2be80ac102de58cb502613063"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf0c0726b90a1a2cd196f8865a92fab56"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf0c0726b90a1a2cd196f8865a92fab56"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___n_i_f__.html#gaf0c0726b90a1a2cd196f8865a92fab56">NIF_TEXT</a>&#160;&#160;&#160;(1 &lt;&lt; 3)</td></tr>
<tr class="memdesc:gaf0c0726b90a1a2cd196f8865a92fab56"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="structnode__info__t.html#a5d7c04d9d47f610a988868d8eb6eaef2" title="node contents ">node_info_t::text</a> <br /></td></tr>
<tr class="separator:gaf0c0726b90a1a2cd196f8865a92fab56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3e7dc8bf53afa7c56cd030d6e46ea3a4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3e7dc8bf53afa7c56cd030d6e46ea3a4"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>NIF_ALL</b>&#160;&#160;&#160;(<a class="el" href="group___n_i_f__.html#ga5688bdf1ebd5f56f14cea113eba3e21b">NIF_BG_COLOR</a> | <a class="el" href="group___n_i_f__.html#gaa95a59e31ba9f19fcfb95e68076d8869">NIF_FRAME_COLOR</a> | <a class="el" href="group___n_i_f__.html#gad5f596d2be80ac102de58cb502613063">NIF_EA</a> | <a class="el" href="group___n_i_f__.html#gaf0c0726b90a1a2cd196f8865a92fab56">NIF_TEXT</a>)</td></tr>
<tr class="separator:ga3e7dc8bf53afa7c56cd030d6e46ea3a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6871dac909fe5d3f028bb602f0dfceb4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6871dac909fe5d3f028bb602f0dfceb4"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group___g_l_i_c_t_l__.html#ga6871dac909fe5d3f028bb602f0dfceb4">GLICTL_CENTER</a>&#160;&#160;&#160;(1 &lt;&lt; 0)</td></tr>
<tr class="memdesc:ga6871dac909fe5d3f028bb602f0dfceb4"><td class="mdescLeft">&#160;</td><td class="mdescRight">the gli should be set/get as center <br /></td></tr>
<tr class="separator:ga6871dac909fe5d3f028bb602f0dfceb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0aff50e054db5e2a540ea5aad956a4da"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#a0aff50e054db5e2a540ea5aad956a4da">GCC_PUREVIRT</a></td></tr>
<tr class="memdesc:a0aff50e054db5e2a540ea5aad956a4da"><td class="mdescLeft">&#160;</td><td class="mdescRight">For some reason GCC insists on putting the vtable into object files, even though we only use <a class="el" href="classmutable__graph__t.html" title="Base class used by graphs in IDA. ">mutable_graph_t</a> by pointer.  <a href="#a0aff50e054db5e2a540ea5aad956a4da">More...</a><br /></td></tr>
<tr class="separator:a0aff50e054db5e2a540ea5aad956a4da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f2686df6b1ff0b7ed3ae30e54905010"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8f2686df6b1ff0b7ed3ae30e54905010"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>CHKNODEIDX</b>(n)</td></tr>
<tr class="separator:a8f2686df6b1ff0b7ed3ae30e54905010"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfe548f81f844eac6abcf132151f7e66"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adfe548f81f844eac6abcf132151f7e66"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#adfe548f81f844eac6abcf132151f7e66">MTG_GROUP_NODE</a>&#160;&#160;&#160;0x01</td></tr>
<tr class="memdesc:adfe548f81f844eac6abcf132151f7e66"><td class="mdescLeft">&#160;</td><td class="mdescRight">is group node? <br /></td></tr>
<tr class="separator:adfe548f81f844eac6abcf132151f7e66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab26e79c074f748ba910a2fd0915b4031"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab26e79c074f748ba910a2fd0915b4031"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#ab26e79c074f748ba910a2fd0915b4031">MTG_DOT_NODE</a>&#160;&#160;&#160;0x02</td></tr>
<tr class="memdesc:ab26e79c074f748ba910a2fd0915b4031"><td class="mdescLeft">&#160;</td><td class="mdescRight">is dot node? <br /></td></tr>
<tr class="separator:ab26e79c074f748ba910a2fd0915b4031"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e5ffad8cbc4e592627cc1dd38cc24ca"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#a6e5ffad8cbc4e592627cc1dd38cc24ca">MTG_NON_DISPLAYABLE_NODE</a>&#160;&#160;&#160;0x08</td></tr>
<tr class="memdesc:a6e5ffad8cbc4e592627cc1dd38cc24ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">for disassembly graphs - non-displayable nodes have a visible  <a href="#a6e5ffad8cbc4e592627cc1dd38cc24ca">More...</a><br /></td></tr>
<tr class="separator:a6e5ffad8cbc4e592627cc1dd38cc24ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac58f2694a7b89587d78be4560bd6fbaf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac58f2694a7b89587d78be4560bd6fbaf"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>COLLAPSED_NODE</b>&#160;&#160;&#160;0x80000000</td></tr>
<tr class="separator:ac58f2694a7b89587d78be4560bd6fbaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a82af93bb7b5138045e9db058f4b9cab9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a82af93bb7b5138045e9db058f4b9cab9"></a>
typedef <a class="el" href="pro_8h.html#a7b0aeaed04e477c02cf8ea3452002d1a">ea_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#a82af93bb7b5138045e9db058f4b9cab9">graph_id_t</a></td></tr>
<tr class="memdesc:a82af93bb7b5138045e9db058f4b9cab9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Graph instances have a unique id (see <a class="el" href="classmutable__graph__t.html#ace192a1557464e0ce725a58f309dec00" title="graph id - unique for the database for flowcharts it is equal to the function start_ea ...">mutable_graph_t::gid</a>) <br /></td></tr>
<tr class="separator:a82af93bb7b5138045e9db058f4b9cab9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26a3afa7e647348ae4180e4ec3420ce6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a26a3afa7e647348ae4180e4ec3420ce6"></a>
typedef <a class="el" href="classqvector.html">qvector</a>&lt; <a class="el" href="structedge__t.html">edge_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#a26a3afa7e647348ae4180e4ec3420ce6">edgevec_t</a></td></tr>
<tr class="memdesc:a26a3afa7e647348ae4180e4ec3420ce6"><td class="mdescLeft">&#160;</td><td class="mdescRight">vector of graph edges <br /></td></tr>
<tr class="separator:a26a3afa7e647348ae4180e4ec3420ce6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b8e7dd25431c0cf4ca4709239f2e65f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5b8e7dd25431c0cf4ca4709239f2e65f"></a>
typedef int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#a5b8e7dd25431c0cf4ca4709239f2e65f">layout_type_t</a></td></tr>
<tr class="memdesc:a5b8e7dd25431c0cf4ca4709239f2e65f"><td class="mdescLeft">&#160;</td><td class="mdescRight">see <a class="el" href="group__layout__.html">Proximity view layouts</a> <br /></td></tr>
<tr class="separator:a5b8e7dd25431c0cf4ca4709239f2e65f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad0d514605345a6a88e930c152ce48ff"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aad0d514605345a6a88e930c152ce48ff"></a>
typedef <a class="el" href="classqvector.html">qvector</a>&lt; <a class="el" href="structrow__info__t.html">row_info_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#aad0d514605345a6a88e930c152ce48ff">graph_row_info_t</a></td></tr>
<tr class="memdesc:aad0d514605345a6a88e930c152ce48ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">vector of row infos <br /></td></tr>
<tr class="separator:aad0d514605345a6a88e930c152ce48ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5091daf84ed39cacccaeee148a8c9a67"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5091daf84ed39cacccaeee148a8c9a67"></a>
typedef <a class="el" href="classqvector.html">qvector</a>&lt; <a class="el" href="structgroup__crinfo__t.html">group_crinfo_t</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>groups_crinfos_t</b></td></tr>
<tr class="separator:a5091daf84ed39cacccaeee148a8c9a67"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a4e00bdf5d8ad6ff4a8930ba922b067"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6a4e00bdf5d8ad6ff4a8930ba922b067"></a>
typedef TWidget&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#a6a4e00bdf5d8ad6ff4a8930ba922b067">graph_viewer_t</a></td></tr>
<tr class="memdesc:a6a4e00bdf5d8ad6ff4a8930ba922b067"><td class="mdescLeft">&#160;</td><td class="mdescRight">graph view opaque structure <br /></td></tr>
<tr class="separator:a6a4e00bdf5d8ad6ff4a8930ba922b067"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ab8f88a4b8bd8582006a2759a335b428c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab8f88a4b8bd8582006a2759a335b428c"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>edge_type_t</b> { <br />
&#160;&#160;<b>edge_error</b> = 0, 
<b>edge_tree</b> = 1, 
<b>edge_forward</b> = 2, 
<b>edge_back</b> = 3, 
<br />
&#160;&#160;<b>edge_cross</b> = 4, 
<b>edge_subgraph</b> = 5
<br />
 }</td></tr>
<tr class="separator:ab8f88a4b8bd8582006a2759a335b428c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78441e00b01a66782dcec75d1631ab33"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#a78441e00b01a66782dcec75d1631ab33">graph_item_type_t</a> { <br />
&#160;&#160;<a class="el" href="graph_8hpp.html#a78441e00b01a66782dcec75d1631ab33a6b851d65d1eb6a6232f988645bb20b2c">git_none</a>, 
<a class="el" href="graph_8hpp.html#a78441e00b01a66782dcec75d1631ab33a58605389f42ea64c64a52cc11a028773">git_edge</a>, 
<a class="el" href="graph_8hpp.html#a78441e00b01a66782dcec75d1631ab33a9c07ae71400dee2a09d6822a23af098f">git_node</a>, 
<a class="el" href="graph_8hpp.html#a78441e00b01a66782dcec75d1631ab33aa690a7bdf872178adfeb9ad5044efe7f">git_tool</a>, 
<br />
&#160;&#160;<a class="el" href="graph_8hpp.html#a78441e00b01a66782dcec75d1631ab33a3d3e6a100b45ce4b325f4d04de681f73">git_text</a>, 
<a class="el" href="graph_8hpp.html#a78441e00b01a66782dcec75d1631ab33af4ca5c75bba73f2859bb6975ed63c478">git_elp</a>
<br />
 }</td></tr>
<tr class="memdesc:a78441e00b01a66782dcec75d1631ab33"><td class="mdescLeft">&#160;</td><td class="mdescRight">See <a class="el" href="classgraph__item__t.html" title="Describes a sub-item of a graph. ">graph_item_t</a>.  <a href="graph_8hpp.html#a78441e00b01a66782dcec75d1631ab33">More...</a><br /></td></tr>
<tr class="separator:a78441e00b01a66782dcec75d1631ab33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5630d2142d3e6fc6ec8f22ab4a90638a"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638a">graph_notification_t</a> { <br />
&#160;&#160;<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aad36b99ba27d7baa964ddd598322b9398">grcode_calculating_layout</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aaf13bb6814b5897d196b79be2c87ee207">grcode_layout_calculated</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aa2eb4fa5d6a0d492ee899b938b3652a31">grcode_changed_graph</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aa8fd85af008fe022ff932e6434931d49a">grcode_changed_current</a>, 
<br />
&#160;&#160;<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aab0229153eb4568393eabfd9b9a116a0b">grcode_clicked</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aaf4ea0b377a74cef2dc1d94feb3b7b841">grcode_dblclicked</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aa60635607b6239d1889c335f9c7e65668">grcode_creating_group</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aa51a0c5b5c80c6661e97d914a6f66d82a">grcode_deleting_group</a>, 
<br />
&#160;&#160;<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aa883d2c82679d39dbeb3aad504e48410e">grcode_group_visibility</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aa0e92d1b1f28d194a3b0d2f7b2bef733e">grcode_gotfocus</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aaddfbdc3de9985ef0a4962072103ae259">grcode_lostfocus</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aae639a9dfeab12e4be5356cb012e3d90e">grcode_user_refresh</a>, 
<br />
&#160;&#160;<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aaeb732f596e2bb4638efc2abd83e9d845">grcode_user_gentext</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aabdbb8b306b0375386b3524fb9955ff4a">grcode_user_text</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aac7b5ecfea92f9a3e20abf73b1c05273e">grcode_user_size</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aa9c97208f750c4def97b7e9df266d7878">grcode_user_title</a>, 
<br />
&#160;&#160;<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aabc932a427dee1d28edf8fb40f0b5dc15">grcode_user_draw</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aa81fd08d965946146a550137ce9744a46">grcode_user_hint</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aab28c8e3b20c8f3f29708fe4f75721b99">grcode_destroyed</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aa956485c89297869472b3b28d120c4858">grcode_create_graph_viewer</a> = 256, 
<br />
&#160;&#160;<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aab6cf7c81341b36f8351d48ffa7aac5c5">grcode_get_graph_viewer</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aade2ae84139031d995874460ac4cf8b7f">grcode_get_viewer_graph</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aae422b9ee30d600557cea64f868ead9a8">grcode_create_mutable_graph</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aa9f66706bf9a64839614bf71a896d05e5">grcode_set_viewer_graph</a>, 
<br />
&#160;&#160;<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aae8af1ea7a27fb7d353ae237affdfc9f4">grcode_refresh_viewer</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aa7e39ca699aff4382d4336e3eee58ccc5">grcode_fit_window</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aaa507b189d29455a48af2b5eeb3361377">grcode_get_curnode</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aa17b886a0555e7003fbd00a07c32697be">grcode_center_on</a>, 
<br />
&#160;&#160;<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aa06bce51de7effa90510d0d3aaf12bbe5">grcode_get_selection</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aa0411682229848403af716e6b8ac925c3">grcode_del_custom_layout</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aab1d19f5de48b88954ff80cb7832be5a5">grcode_set_custom_layout</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aad0192a5561a99c862f2f31ed4f640605">grcode_set_graph_groups</a>, 
<br />
&#160;&#160;<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aaf794f84f37d0a306f06fe069feffec5e">grcode_clear</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aa43a3a2b906dfa99b2ee559b18577a2a1">grcode_create_digraph_layout</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aa7faf6e4fe1bdd0422fb211c247044409">grcode_create_tree_layout</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aae53811ecb22842925633ce7f80361815">grcode_create_circle_layout</a>, 
<br />
&#160;&#160;<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aa7a792f60cf520584c4103d005925be9b">grcode_get_node_representative</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aa9299d3333c96f34981e48eb5d4f0c565">grcode_find_subgraph_node</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aa623a85ef7b565e6d01e1700e13f14084">grcode_create_group</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aa7c6ab713429ab0c5308bcc88c7ba6320">grcode_get_custom_layout</a>, 
<br />
&#160;&#160;<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aa1461be5b9356a7baf3f92a5129716c38">grcode_get_graph_groups</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aa9aa04e76f072683a6897f226d5ba95fc">grcode_empty</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aa2692c3c18dd1615ffe7571b96395f010">grcode_is_visible_node</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aa55354f94ce6447fc306bf1cf48c21ae4">grcode_delete_group</a>, 
<br />
&#160;&#160;<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aa20946c19eddd8dc4c6773963d7c92003">grcode_change_group_visibility</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aa810172a408935102147fce75679c98d3">grcode_set_edge</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aaf1cf159e40157b5ab1f41557ec3e413f">grcode_node_qty</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aa0a1ec088da01de19b2a8b6ed9e03de0f">grcode_nrect</a>, 
<br />
&#160;&#160;<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aaaa5518609f9cd4f2a84e5880be31f587">grcode_set_titlebar_height</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aa4365a5731a2630a13bf38a23895fa10d">grcode_create_user_graph_place</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aa17b58091aa7adba4b9346f48a8718138">grcode_create_disasm_graph1</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aa0a1f072563948546a787ca8b202f60e2">grcode_create_disasm_graph2</a>, 
<br />
&#160;&#160;<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aae3e76a856b8b484370e8b89ca7edf44c">grcode_set_node_info</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aaffce36086a29a7617b699a855e1632f4">grcode_get_node_info</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aaf04ed1502aafd18b6ae9ca0ba480d046">grcode_del_node_info</a>, 
<b>grcode_viewer_create_groups</b>, 
<br />
&#160;&#160;<b>grcode_viewer_delete_groups</b>, 
<b>grcode_viewer_groups_visibility</b>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aa8db18a64b96464c7e70cc88c6ed36c22">grcode_viewer_create_groups_vec</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aa01291468440b16854ce0a9b8d00c9271">grcode_viewer_delete_groups_vec</a>, 
<br />
&#160;&#160;<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aa0b1bb18d72fba96158f705c461ee7887">grcode_viewer_groups_visibility_vec</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aa4e193bca5a7d47569591d1cb5534c557">grcode_delete_mutable_graph</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aaffacf5496274fd8dd0e46d053bc2207b">grcode_edge_infos_wrapper_copy</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aacc36cc019058b98c6d3bf515a0c77616">grcode_edge_infos_wrapper_clear</a>, 
<br />
&#160;&#160;<b>grcode_attach_menu_item</b>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aa8546ef25bf04ec4f1cddc725d0ca9a56">grcode_set_gli</a>, 
<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638aaf4062f164aafd0ae8967674c179cfec1">grcode_get_gli</a>
<br />
 }</td></tr>
<tr class="memdesc:a5630d2142d3e6fc6ec8f22ab4a90638a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Graph notification codes.  <a href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638a">More...</a><br /></td></tr>
<tr class="separator:a5630d2142d3e6fc6ec8f22ab4a90638a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:gacec193bb7928fa8315c4158f6e8f3a8b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gacec193bb7928fa8315c4158f6e8f3a8b"></a>
const <a class="el" href="graph_8hpp.html#a5b8e7dd25431c0cf4ca4709239f2e65f">layout_type_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>layout_none</b> = 0</td></tr>
<tr class="separator:gacec193bb7928fa8315c4158f6e8f3a8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga05c1558204716d74b4aa6120dcf6b7e0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga05c1558204716d74b4aa6120dcf6b7e0"></a>
const <a class="el" href="graph_8hpp.html#a5b8e7dd25431c0cf4ca4709239f2e65f">layout_type_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>layout_digraph</b> = 1</td></tr>
<tr class="separator:ga05c1558204716d74b4aa6120dcf6b7e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga34e479072f60f0554ec0dbc208b15b8f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga34e479072f60f0554ec0dbc208b15b8f"></a>
const <a class="el" href="graph_8hpp.html#a5b8e7dd25431c0cf4ca4709239f2e65f">layout_type_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>layout_tree</b> = 2</td></tr>
<tr class="separator:ga34e479072f60f0554ec0dbc208b15b8f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafb394099b487dcda59c508630e6362b6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gafb394099b487dcda59c508630e6362b6"></a>
const <a class="el" href="graph_8hpp.html#a5b8e7dd25431c0cf4ca4709239f2e65f">layout_type_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>layout_circle</b> = 3</td></tr>
<tr class="separator:gafb394099b487dcda59c508630e6362b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac808aefbae40a2d18fd34086465faa7e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac808aefbae40a2d18fd34086465faa7e"></a>
const <a class="el" href="graph_8hpp.html#a5b8e7dd25431c0cf4ca4709239f2e65f">layout_type_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>layout_polar_tree</b> = 4</td></tr>
<tr class="separator:gac808aefbae40a2d18fd34086465faa7e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4f9fc4b98cf9121c80b8a6c4a38c0937"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga4f9fc4b98cf9121c80b8a6c4a38c0937"></a>
const <a class="el" href="graph_8hpp.html#a5b8e7dd25431c0cf4ca4709239f2e65f">layout_type_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>layout_orthogonal</b> = 5</td></tr>
<tr class="separator:ga4f9fc4b98cf9121c80b8a6c4a38c0937"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac3adfd94d7e49e686b06551a75e99f30"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac3adfd94d7e49e686b06551a75e99f30"></a>
const <a class="el" href="graph_8hpp.html#a5b8e7dd25431c0cf4ca4709239f2e65f">layout_type_t</a>&#160;</td><td class="memItemRight" valign="bottom"><b>layout_radial_tree</b> = 6</td></tr>
<tr class="separator:gac3adfd94d7e49e686b06551a75e99f30"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="a0aff50e054db5e2a540ea5aad956a4da"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define GCC_PUREVIRT</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>For some reason GCC insists on putting the vtable into object files, even though we only use <a class="el" href="classmutable__graph__t.html" title="Base class used by graphs in IDA. ">mutable_graph_t</a> by pointer. </p>
<p>This looks like a linker bug. We fix it by declaring functions as pure virtual when plugins are compiled. </p>

</div>
</div>
<a class="anchor" id="a6e5ffad8cbc4e592627cc1dd38cc24ca"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define MTG_NON_DISPLAYABLE_NODE&#160;&#160;&#160;0x08</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>for disassembly graphs - non-displayable nodes have a visible </p>
<p>area that is too large to generate disassembly lines for without IDA slowing down significantly (see MAX_VISIBLE_NODE_AREA) </p>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="a78441e00b01a66782dcec75d1631ab33"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="graph_8hpp.html#a78441e00b01a66782dcec75d1631ab33">graph_item_type_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>See <a class="el" href="classgraph__item__t.html" title="Describes a sub-item of a graph. ">graph_item_t</a>. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a78441e00b01a66782dcec75d1631ab33a6b851d65d1eb6a6232f988645bb20b2c"></a>git_none&#160;</td><td class="fielddoc">
<p>nothing </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a78441e00b01a66782dcec75d1631ab33a58605389f42ea64c64a52cc11a028773"></a>git_edge&#160;</td><td class="fielddoc">
<p>edge (<a class="el" href="classgraph__item__t.html#a7a01a1ff8fc1b5b1719c9d2fc17b3425" title="edge source and destination ">graph_item_t::e</a>, <a class="el" href="classgraph__item__t.html#a6b7c8ed463ff24b398403df847125a91" title="node number ">graph_item_t::n</a>. n is farthest edge endpoint) </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a78441e00b01a66782dcec75d1631ab33a9c07ae71400dee2a09d6822a23af098f"></a>git_node&#160;</td><td class="fielddoc">
<p>node title (<a class="el" href="classgraph__item__t.html#a6b7c8ed463ff24b398403df847125a91" title="node number ">graph_item_t::n</a>) </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a78441e00b01a66782dcec75d1631ab33aa690a7bdf872178adfeb9ad5044efe7f"></a>git_tool&#160;</td><td class="fielddoc">
<p>node title button (<a class="el" href="classgraph__item__t.html#a6b7c8ed463ff24b398403df847125a91" title="node number ">graph_item_t::n</a>, <a class="el" href="classgraph__item__t.html#a60d68bdd91863f7912600c304680d43f" title="button number ">graph_item_t::b</a>) </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a78441e00b01a66782dcec75d1631ab33a3d3e6a100b45ce4b325f4d04de681f73"></a>git_text&#160;</td><td class="fielddoc">
<p>node text (<a class="el" href="classgraph__item__t.html#a6b7c8ed463ff24b398403df847125a91" title="node number ">graph_item_t::n</a>, <a class="el" href="classgraph__item__t.html#a673168e0b40d4280a204b920c4d89e7f" title="text coordinates in the node ">graph_item_t::p</a>) </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a78441e00b01a66782dcec75d1631ab33af4ca5c75bba73f2859bb6975ed63c478"></a>git_elp&#160;</td><td class="fielddoc">
<p>edge layout point (<a class="el" href="classgraph__item__t.html#a95b79ad65544457d5f656f644a8ba72a" title="edge layout point ">graph_item_t::elp</a>) </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638a">graph_notification_t</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Graph notification codes. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aad36b99ba27d7baa964ddd598322b9398"></a>grcode_calculating_layout&#160;</td><td class="fielddoc">
<p>calculating user-defined graph layout. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">g</td><td>(<a class="el" href="classmutable__graph__t.html" title="Base class used by graphs in IDA. ">mutable_graph_t</a> *) </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>not implemented </td></tr>
    <tr><td class="paramname">1</td><td>graph layout calculated by the plugin </td></tr>
  </table>
  </dd>
</dl>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aaf13bb6814b5897d196b79be2c87ee207"></a>grcode_layout_calculated&#160;</td><td class="fielddoc">
<p>graph layout calculated. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">g</td><td>(<a class="el" href="classmutable__graph__t.html" title="Base class used by graphs in IDA. ">mutable_graph_t</a> *) </td></tr>
    <tr><td class="paramname">layout_succeeded</td><td>(bool) </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>must return 0 </td></tr>
  </table>
  </dd>
</dl>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aa2eb4fa5d6a0d492ee899b938b3652a31"></a>grcode_changed_graph&#160;</td><td class="fielddoc">
<p>new graph has been set. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">g</td><td>(<a class="el" href="classmutable__graph__t.html" title="Base class used by graphs in IDA. ">mutable_graph_t</a> *) </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>must return 0 </td></tr>
  </table>
  </dd>
</dl>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aa8fd85af008fe022ff932e6434931d49a"></a>grcode_changed_current&#160;</td><td class="fielddoc">
<p>a new graph node became the current node. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">gv</td><td>(<a class="el" href="graph_8hpp.html#a6a4e00bdf5d8ad6ff4a8930ba922b067" title="graph view opaque structure ">graph_viewer_t</a> *) </td></tr>
    <tr><td class="paramname">curnode</td><td>(int) </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>ok </td></tr>
    <tr><td class="paramname">1</td><td>forbid to change the current node </td></tr>
  </table>
  </dd>
</dl>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aab0229153eb4568393eabfd9b9a116a0b"></a>grcode_clicked&#160;</td><td class="fielddoc">
<p>graph is being clicked. </p>
<p>this callback allows you to ignore some clicks. it occurs too early, internal graph variables are not updated yet. current_item1, current_item2 point to the same thing. item2 has more information. see also: <a class="el" href="kernwin_8hpp.html#adefb66562d8615c65b5c9fc3c69121f5" title="The user clicked. ">custom_viewer_click_t</a> </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">gv</td><td>(<a class="el" href="graph_8hpp.html#a6a4e00bdf5d8ad6ff4a8930ba922b067" title="graph view opaque structure ">graph_viewer_t</a> *) </td></tr>
    <tr><td class="paramname">current_item1</td><td>(<a class="el" href="structselection__item__t.html" title="Element of a graph selection - could be a node or edge layout point. ">selection_item_t</a> *) </td></tr>
    <tr><td class="paramname">current_item2</td><td>(<a class="el" href="classgraph__item__t.html" title="Describes a sub-item of a graph. ">graph_item_t</a> *) </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>ok </td></tr>
    <tr><td class="paramname">1</td><td>ignore click </td></tr>
  </table>
  </dd>
</dl>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aaf4ea0b377a74cef2dc1d94feb3b7b841"></a>grcode_dblclicked&#160;</td><td class="fielddoc">
<p>a graph node has been double clicked. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">gv</td><td>(<a class="el" href="graph_8hpp.html#a6a4e00bdf5d8ad6ff4a8930ba922b067" title="graph view opaque structure ">graph_viewer_t</a> *) </td></tr>
    <tr><td class="paramname">current_item</td><td>(<a class="el" href="structselection__item__t.html" title="Element of a graph selection - could be a node or edge layout point. ">selection_item_t</a> *) </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>ok </td></tr>
    <tr><td class="paramname">1</td><td>ignore click </td></tr>
  </table>
  </dd>
</dl>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aa60635607b6239d1889c335f9c7e65668"></a>grcode_creating_group&#160;</td><td class="fielddoc">
<p>a group is being created. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">g</td><td>(<a class="el" href="classmutable__graph__t.html" title="Base class used by graphs in IDA. ">mutable_graph_t</a> *) </td></tr>
    <tr><td class="paramname">nodes</td><td>(<a class="el" href="pro_8h.html#a16a891be237a47eac68383da2ebc2fa6" title="vector of integers ">intvec_t</a> *) </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>ok </td></tr>
    <tr><td class="paramname">1</td><td>forbid group creation </td></tr>
  </table>
  </dd>
</dl>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aa51a0c5b5c80c6661e97d914a6f66d82a"></a>grcode_deleting_group&#160;</td><td class="fielddoc">
<p>a group is being deleted. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">g</td><td>(<a class="el" href="classmutable__graph__t.html" title="Base class used by graphs in IDA. ">mutable_graph_t</a> *) </td></tr>
    <tr><td class="paramname">old_group</td><td>(int) </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>ok </td></tr>
    <tr><td class="paramname">1</td><td>forbid group deletion </td></tr>
  </table>
  </dd>
</dl>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aa883d2c82679d39dbeb3aad504e48410e"></a>grcode_group_visibility&#160;</td><td class="fielddoc">
<p>a group is being collapsed/uncollapsed </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">g</td><td>(<a class="el" href="classmutable__graph__t.html" title="Base class used by graphs in IDA. ">mutable_graph_t</a> *) </td></tr>
    <tr><td class="paramname">group</td><td>(int) </td></tr>
    <tr><td class="paramname">expand</td><td>(bool) </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>ok </td></tr>
    <tr><td class="paramname">1</td><td>forbid group modification </td></tr>
  </table>
  </dd>
</dl>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aa0e92d1b1f28d194a3b0d2f7b2bef733e"></a>grcode_gotfocus&#160;</td><td class="fielddoc">
<p>a graph viewer got focus. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">gv</td><td>(<a class="el" href="graph_8hpp.html#a6a4e00bdf5d8ad6ff4a8930ba922b067" title="graph view opaque structure ">graph_viewer_t</a> *) </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>must return 0 </td></tr>
  </table>
  </dd>
</dl>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aaddfbdc3de9985ef0a4962072103ae259"></a>grcode_lostfocus&#160;</td><td class="fielddoc">
<p>a graph viewer lost focus. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">gv</td><td>(<a class="el" href="graph_8hpp.html#a6a4e00bdf5d8ad6ff4a8930ba922b067" title="graph view opaque structure ">graph_viewer_t</a> *) </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>must return 0 </td></tr>
  </table>
  </dd>
</dl>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aae639a9dfeab12e4be5356cb012e3d90e"></a>grcode_user_refresh&#160;</td><td class="fielddoc">
<p>refresh user-defined graph node number and edges. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">g</td><td>(<a class="el" href="classmutable__graph__t.html" title="Base class used by graphs in IDA. ">mutable_graph_t</a> *) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>success </dd></dl>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aaeb732f596e2bb4638efc2abd83e9d845"></a>grcode_user_gentext&#160;</td><td class="fielddoc">
<p>generate text for user-defined graph nodes. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">g</td><td>(<a class="el" href="classmutable__graph__t.html" title="Base class used by graphs in IDA. ">mutable_graph_t</a> *) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>success </dd></dl>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aabdbb8b306b0375386b3524fb9955ff4a"></a>grcode_user_text&#160;</td><td class="fielddoc">
<p>retrieve text for user-defined graph node. </p>
<p>NB: do not use anything calling GDI! </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">g</td><td>(<a class="el" href="classmutable__graph__t.html" title="Base class used by graphs in IDA. ">mutable_graph_t</a> *) </td></tr>
    <tr><td class="paramname">node</td><td>(int) </td></tr>
    <tr><td class="paramname">result</td><td>(const char **) </td></tr>
    <tr><td class="paramname">bg_color</td><td>(<a class="el" href="pro_8h.html#a3df5040891132e50157aee66affdf1de" title="background color in RGB ">bgcolor_t</a> *) may be NULL </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>success, result must be filled </dd></dl>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aac7b5ecfea92f9a3e20abf73b1c05273e"></a>grcode_user_size&#160;</td><td class="fielddoc">
<p>calculate node size for user-defined graph. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">g</td><td>(<a class="el" href="classmutable__graph__t.html" title="Base class used by graphs in IDA. ">mutable_graph_t</a> *) </td></tr>
    <tr><td class="paramname">node</td><td>(int) </td></tr>
    <tr><td class="paramname">cx</td><td>(int *) </td></tr>
    <tr><td class="paramname">cy</td><td>(int *) </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>did not calculate. ida will use node text size </td></tr>
    <tr><td class="paramname">1</td><td>calculated. ida will add node title to the size </td></tr>
  </table>
  </dd>
</dl>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aa9c97208f750c4def97b7e9df266d7878"></a>grcode_user_title&#160;</td><td class="fielddoc">
<p>render node title of a user-defined graph. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">g</td><td>(<a class="el" href="classmutable__graph__t.html" title="Base class used by graphs in IDA. ">mutable_graph_t</a> *) </td></tr>
    <tr><td class="paramname">node</td><td>(int) </td></tr>
    <tr><td class="paramname">title_rect</td><td>(<a class="el" href="structrect__t.html" title="A rectangle in a graph view. ">rect_t</a> *) </td></tr>
    <tr><td class="paramname">title_bg_color</td><td>(int) </td></tr>
    <tr><td class="paramname">dc</td><td>(HDC) </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>did not render, ida will fill it with title_bg_color </td></tr>
    <tr><td class="paramname">1</td><td>rendered node title </td></tr>
  </table>
  </dd>
</dl>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aabc932a427dee1d28edf8fb40f0b5dc15"></a>grcode_user_draw&#160;</td><td class="fielddoc">
<p>render node of a user-defined graph. </p>
<p>NB: draw only on the specified DC and nowhere else! </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">g</td><td>(<a class="el" href="classmutable__graph__t.html" title="Base class used by graphs in IDA. ">mutable_graph_t</a> *) </td></tr>
    <tr><td class="paramname">node</td><td>(int) </td></tr>
    <tr><td class="paramname">node_rect</td><td>(<a class="el" href="structrect__t.html" title="A rectangle in a graph view. ">rect_t</a> *) </td></tr>
    <tr><td class="paramname">dc</td><td>(HDC) </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>not rendered </td></tr>
    <tr><td class="paramname">1</td><td>rendered </td></tr>
  </table>
  </dd>
</dl>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aa81fd08d965946146a550137ce9744a46"></a>grcode_user_hint&#160;</td><td class="fielddoc">
<p>retrieve hint for the user-defined graph. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">g</td><td>(<a class="el" href="classmutable__graph__t.html" title="Base class used by graphs in IDA. ">mutable_graph_t</a> *) </td></tr>
    <tr><td class="paramname">mousenode</td><td>(int) </td></tr>
    <tr><td class="paramname">mouseedge_src</td><td>(int) </td></tr>
    <tr><td class="paramname">mouseedge_dst</td><td>(int) </td></tr>
    <tr><td class="paramname">hint</td><td>(char **) must be allocated by <a class="el" href="pro_8h.html#a2806c6575b58eb42bb0d2b96f92fc39b" title="System independent malloc. ">qalloc()</a> or <a class="el" href="pro_8h.html#aa4750398edaf310e15c64e5ec15d7692" title="System independent strdup. ">qstrdup()</a> </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>use default hint </td></tr>
    <tr><td class="paramname">1</td><td>use proposed hint </td></tr>
  </table>
  </dd>
</dl>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aab28c8e3b20c8f3f29708fe4f75721b99"></a>grcode_destroyed&#160;</td><td class="fielddoc">
<p>graph is being destroyed. </p>
<p>Note that this doesn't mean the graph viewer is being destroyed; this only means that the graph that is being displayed by it is being destroyed, and that, e.g., any possibly cached data should be invalidated (this event can happen when, for example, the user decides to group nodes together: that operation will effectively create a new graph, that will replace the old one.) To be notified when the graph viewer itself is being destroyed, please see notification 'view_close', in <a class="el" href="kernwin_8hpp.html" title="Defines the interface between the kernel and the UI. ">kernwin.hpp</a> </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">g</td><td>(<a class="el" href="classmutable__graph__t.html" title="Base class used by graphs in IDA. ">mutable_graph_t</a> *) </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">0</td><td>must return 0 </td></tr>
  </table>
  </dd>
</dl>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aa956485c89297869472b3b28d120c4858"></a>grcode_create_graph_viewer&#160;</td><td class="fielddoc">
<p>use <a class="el" href="graph_8hpp.html#a2f8cf4d675de4aae5fbc3f57ba47d5c4" title="Create a custom graph viewer. ">create_graph_viewer()</a> </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aab6cf7c81341b36f8351d48ffa7aac5c5"></a>grcode_get_graph_viewer&#160;</td><td class="fielddoc">
<p>use <a class="el" href="graph_8hpp.html#a33c94d1876246325b00d36ae1fea9fde" title="Get custom graph viewer for given form. ">get_graph_viewer()</a> </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aade2ae84139031d995874460ac4cf8b7f"></a>grcode_get_viewer_graph&#160;</td><td class="fielddoc">
<p>use <a class="el" href="graph_8hpp.html#a4e7070a663be797bb8ff1484ecdfa4ad" title="Get graph object for given custom graph viewer. ">get_viewer_graph()</a> </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aae422b9ee30d600557cea64f868ead9a8"></a>grcode_create_mutable_graph&#160;</td><td class="fielddoc">
<p>use <a class="el" href="graph_8hpp.html#a5df0773b00208be3aa316bfffaa98f63" title="Create a new empty graph with given id. ">create_mutable_graph()</a> </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aa9f66706bf9a64839614bf71a896d05e5"></a>grcode_set_viewer_graph&#160;</td><td class="fielddoc">
<p>use <a class="el" href="graph_8hpp.html#a004fa6de6d0ea9e2711b927a7311a911" title="Set the underlying graph object for the given viewer. ">set_viewer_graph()</a> </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aae8af1ea7a27fb7d353ae237affdfc9f4"></a>grcode_refresh_viewer&#160;</td><td class="fielddoc">
<p>use <a class="el" href="graph_8hpp.html#a10b7bfe95168e7494ea83a6d4751506b" title="Redraw the graph in the given view. ">refresh_viewer()</a> </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aa7e39ca699aff4382d4336e3eee58ccc5"></a>grcode_fit_window&#160;</td><td class="fielddoc">
<p>use <a class="el" href="graph_8hpp.html#af551efa22ddaba173ac7cc6d74c5a83a" title="Fit graph viewer to its parent form. ">viewer_fit_window()</a> </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aaa507b189d29455a48af2b5eeb3361377"></a>grcode_get_curnode&#160;</td><td class="fielddoc">
<p>use <a class="el" href="graph_8hpp.html#a53371375deb94eec55451b075b7aec59" title="Get number of currently selected node (-1 if none) ">viewer_get_curnode()</a> </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aa17b886a0555e7003fbd00a07c32697be"></a>grcode_center_on&#160;</td><td class="fielddoc">
<p>use <a class="el" href="graph_8hpp.html#aa6dd9196b877d8c6bfd05768806f4bed" title="Center the graph view on the given node. ">viewer_center_on()</a> </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aa06bce51de7effa90510d0d3aaf12bbe5"></a>grcode_get_selection&#160;</td><td class="fielddoc">
<p>use <a class="el" href="graph_8hpp.html#aa34280672acc8d7822b4ce828ee08961" title="Get currently selected items for graph viewer. ">viewer_get_selection()</a> </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aa0411682229848403af716e6b8ac925c3"></a>grcode_del_custom_layout&#160;</td><td class="fielddoc">
<p>use mutable_graph_t::del_custom_layout() </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aab1d19f5de48b88954ff80cb7832be5a5"></a>grcode_set_custom_layout&#160;</td><td class="fielddoc">
<p>use mutable_graph_t::set_custom_layout() </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aad0192a5561a99c862f2f31ed4f640605"></a>grcode_set_graph_groups&#160;</td><td class="fielddoc">
<p>use mutable_graph_t::set_graph_groups() </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aaf794f84f37d0a306f06fe069feffec5e"></a>grcode_clear&#160;</td><td class="fielddoc">
<p>use mutable_graph_t::clear() </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aa43a3a2b906dfa99b2ee559b18577a2a1"></a>grcode_create_digraph_layout&#160;</td><td class="fielddoc">
<p>use mutable_graph_t::create_digraph_layout() </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aa7faf6e4fe1bdd0422fb211c247044409"></a>grcode_create_tree_layout&#160;</td><td class="fielddoc">
<p>use abstract_graph_t::create_tree_layout() </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aae53811ecb22842925633ce7f80361815"></a>grcode_create_circle_layout&#160;</td><td class="fielddoc">
<p>use abstract_graph_t::create_circle_layout() </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aa7a792f60cf520584c4103d005925be9b"></a>grcode_get_node_representative&#160;</td><td class="fielddoc">
<p>use mutable_graph_t::get_node_representative() </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aa9299d3333c96f34981e48eb5d4f0c565"></a>grcode_find_subgraph_node&#160;</td><td class="fielddoc">
<p>use mutable_graph_t::_find_subgraph_node() </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aa623a85ef7b565e6d01e1700e13f14084"></a>grcode_create_group&#160;</td><td class="fielddoc">
<p>use mutable_graph_t::create_group() </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aa7c6ab713429ab0c5308bcc88c7ba6320"></a>grcode_get_custom_layout&#160;</td><td class="fielddoc">
<p>use mutable_graph_t::get_custom_layout() </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aa1461be5b9356a7baf3f92a5129716c38"></a>grcode_get_graph_groups&#160;</td><td class="fielddoc">
<p>use mutable_graph_t::get_graph_groups() </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aa9aa04e76f072683a6897f226d5ba95fc"></a>grcode_empty&#160;</td><td class="fielddoc">
<p>use mutable_graph_t::empty() </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aa2692c3c18dd1615ffe7571b96395f010"></a>grcode_is_visible_node&#160;</td><td class="fielddoc">
<p>use mutable_graph_t::is_visible_node() </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aa55354f94ce6447fc306bf1cf48c21ae4"></a>grcode_delete_group&#160;</td><td class="fielddoc">
<p>use mutable_graph_t::delete_group() </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aa20946c19eddd8dc4c6773963d7c92003"></a>grcode_change_group_visibility&#160;</td><td class="fielddoc">
<p>use mutable_graph_t::change_group_visibility() </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aa810172a408935102147fce75679c98d3"></a>grcode_set_edge&#160;</td><td class="fielddoc">
<p>use mutable_graph_t::set_edge() </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aaf1cf159e40157b5ab1f41557ec3e413f"></a>grcode_node_qty&#160;</td><td class="fielddoc">
<p>use mutable_graph_t::node_qty() </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aa0a1ec088da01de19b2a8b6ed9e03de0f"></a>grcode_nrect&#160;</td><td class="fielddoc">
<p>use mutable_graph_t::nrect() </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aaaa5518609f9cd4f2a84e5880be31f587"></a>grcode_set_titlebar_height&#160;</td><td class="fielddoc">
<p>use <a class="el" href="graph_8hpp.html#a73957876803ab3946feee2ef6f086f35" title="Set height of node title bars (grcode_set_titlebar_height) ">viewer_set_titlebar_height()</a> </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aa4365a5731a2630a13bf38a23895fa10d"></a>grcode_create_user_graph_place&#160;</td><td class="fielddoc">
<p>use <a class="el" href="graph_8hpp.html#a0dad3f8415c4b64d4468ae8e7f59dbf6" title="Get a copy of a user_graph_place_t (returns a pointer to static storage) ">create_user_graph_place()</a> </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aa17b58091aa7adba4b9346f48a8718138"></a>grcode_create_disasm_graph1&#160;</td><td class="fielddoc">
<p>use <a class="el" href="graph_8hpp.html#a1bbf69747b1dad8589620d7f69d719bb" title="Create a graph for the function that contains &#39;ea&#39;. ">create_disasm_graph(ea_t ea)</a> </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aa0a1f072563948546a787ca8b202f60e2"></a>grcode_create_disasm_graph2&#160;</td><td class="fielddoc">
<p>use <a class="el" href="graph_8hpp.html#aefabfff7ea927bb442d4bfb80f3eb8d8" title="Create a graph using an arbitrary set of ranges. ">create_disasm_graph(const rangevec_t &amp;ranges)</a> </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aae3e76a856b8b484370e8b89ca7edf44c"></a>grcode_set_node_info&#160;</td><td class="fielddoc">
<p>use <a class="el" href="graph_8hpp.html#a9e2134d0c20f221f721ee4954763c419" title="Set node info for node in given viewer (see set_node_info()) ">viewer_set_node_info()</a> </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aaffce36086a29a7617b699a855e1632f4"></a>grcode_get_node_info&#160;</td><td class="fielddoc">
<p>use <a class="el" href="graph_8hpp.html#a6fd5e32edbc03622acb9e6173c21278f" title="Get node info for node in given viewer (see get_node_info()) ">viewer_get_node_info()</a> </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aaf04ed1502aafd18b6ae9ca0ba480d046"></a>grcode_del_node_info&#160;</td><td class="fielddoc">
<p>use <a class="el" href="graph_8hpp.html#aec726c555b2e3ff7ffc3fa6388e1ab18" title="Delete node info for node in given viewer (see del_node_info()) ">viewer_del_node_info()</a> </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aa8db18a64b96464c7e70cc88c6ed36c22"></a>grcode_viewer_create_groups_vec&#160;</td><td class="fielddoc">
<p>use <a class="el" href="graph_8hpp.html#a7b6b4dbf2a1d9d2200152ef7957f0896" title="This will perform an operation similar to what happens when a user manually selects a set of nodes...">viewer_create_groups()</a> </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aa01291468440b16854ce0a9b8d00c9271"></a>grcode_viewer_delete_groups_vec&#160;</td><td class="fielddoc">
<p>use <a class="el" href="graph_8hpp.html#a2ce86735da8bd32f757144dee5ce042e" title="Wrapper around mutable_graph_t::delete_group. ">viewer_delete_groups()</a> </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aa0b1bb18d72fba96158f705c461ee7887"></a>grcode_viewer_groups_visibility_vec&#160;</td><td class="fielddoc">
<p>use <a class="el" href="graph_8hpp.html#a33ccbc2cc7d0a5eabdc2f3314cfd7301" title="Wrapper around mutable_graph_t::change_visibility. ">viewer_set_groups_visibility()</a> </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aa4e193bca5a7d47569591d1cb5534c557"></a>grcode_delete_mutable_graph&#160;</td><td class="fielddoc">
<p>use <a class="el" href="graph_8hpp.html#a1f3337111f08d4a141ee4058c2b9dc90" title="Delete graph object. ">delete_mutable_graph()</a> </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aaffacf5496274fd8dd0e46d053bc2207b"></a>grcode_edge_infos_wrapper_copy&#160;</td><td class="fielddoc">
<p>use edge_infos_wrapper_t::operator=() </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aacc36cc019058b98c6d3bf515a0c77616"></a>grcode_edge_infos_wrapper_clear&#160;</td><td class="fielddoc">
<p>use edge_infos_wrapper_t::clear() </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aa8546ef25bf04ec4f1cddc725d0ca9a56"></a>grcode_set_gli&#160;</td><td class="fielddoc">
<p>use <a class="el" href="graph_8hpp.html#a4734bb396ceb5fe074a4fb962c7da31e" title="Set location info for given graph view If flags contains GLICTL_CENTER, then the gli will be set to b...">viewer_set_gli()</a> </p>
</td></tr>
<tr><td class="fieldname"><a class="anchor" id="a5630d2142d3e6fc6ec8f22ab4a90638aaf4062f164aafd0ae8967674c179cfec1"></a>grcode_get_gli&#160;</td><td class="fielddoc">
<p>use <a class="el" href="graph_8hpp.html#a5db5120b806800f2e9cab9ccb211fb45" title="Get location info for given graph view If flags contains GLICTL_CENTER, then the gli that will be ret...">viewer_get_gli()</a> </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a9180cd747740ca2f55b61fff3359dca6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> bool <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> get_node_info </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structnode__info__t.html">node_info_t</a> *&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="graph_8hpp.html#a82af93bb7b5138045e9db058f4b9cab9">graph_id_t</a>&#160;</td>
          <td class="paramname"><em>gid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>node</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get node info. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">out</td><td>result </td></tr>
    <tr><td class="paramname">gid</td><td>id of desired graph </td></tr>
    <tr><td class="paramname">node</td><td>node number </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>success </dd></dl>

</div>
</div>
<a class="anchor" id="a9a33b3a1d3c9a37011d8d56dbd1fdeca"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> void <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> set_node_info </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="graph_8hpp.html#a82af93bb7b5138045e9db058f4b9cab9">graph_id_t</a>&#160;</td>
          <td class="paramname"><em>gid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>node</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structnode__info__t.html">node_info_t</a> &amp;&#160;</td>
          <td class="paramname"><em>ni</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a1134b580f8da4de94ca6b1de4d37975e">uint32</a>&#160;</td>
          <td class="paramname"><em>flags</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set node info. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">gid</td><td>id of desired graph </td></tr>
    <tr><td class="paramname">node</td><td>node number </td></tr>
    <tr><td class="paramname">ni</td><td>node info to use </td></tr>
    <tr><td class="paramname">flags</td><td>combination of <a class="el" href="group___n_i_f__.html">Node info flags</a>, identifying which fields of 'ni' will be used </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a8897ac8378084bd06bc992f2a8d81a70"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pro_8h.html#a8ddba56b40c4be92718f8059abf51147">idaman</a> void <a class="el" href="pro_8h.html#a176294e75f953787714b9d08ffa89adf">ida_export</a> clr_node_info </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="graph_8hpp.html#a82af93bb7b5138045e9db058f4b9cab9">graph_id_t</a>&#160;</td>
          <td class="paramname"><em>gid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>node</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a1134b580f8da4de94ca6b1de4d37975e">uint32</a>&#160;</td>
          <td class="paramname"><em>flags</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Clear node info for the given node. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">gid</td><td>id of desired graph </td></tr>
    <tr><td class="paramname">node</td><td>node number </td></tr>
    <tr><td class="paramname">flags</td><td>combination of <a class="el" href="group___n_i_f__.html">Node info flags</a>, identifying which fields of <a class="el" href="structnode__info__t.html" title="Information about a node in a graph. ">node_info_t</a> will be cleared </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a2f8cf4d675de4aae5fbc3f57ba47d5c4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="graph_8hpp.html#a6a4e00bdf5d8ad6ff4a8930ba922b067">graph_viewer_t</a>* <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> create_graph_viewer </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>title</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#aef265b11f25357d520dcfd40aa8c18f3">uval_t</a>&#160;</td>
          <td class="paramname"><em>id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="idp_8hpp.html#acf012fe005690e1af26e799617fc98b7">hook_cb_t</a> *&#160;</td>
          <td class="paramname"><em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>ud</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>title_height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">TWidget *&#160;</td>
          <td class="paramname"><em>parent</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create a custom graph viewer. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">title</td><td>the widget title </td></tr>
    <tr><td class="paramname">id</td><td>graph id </td></tr>
    <tr><td class="paramname">callback</td><td>callback to handle graph notifications (<a class="el" href="graph_8hpp.html#a5630d2142d3e6fc6ec8f22ab4a90638a" title="Graph notification codes. ">graph_notification_t</a>) </td></tr>
    <tr><td class="paramname">ud</td><td>user data passed to callback </td></tr>
    <tr><td class="paramname">title_height</td><td>node title height </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>new viewer </dd></dl>

</div>
</div>
<a class="anchor" id="a4734bb396ceb5fe074a4fb962c7da31e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> viewer_set_gli </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="graph_8hpp.html#a6a4e00bdf5d8ad6ff4a8930ba922b067">graph_viewer_t</a> *&#160;</td>
          <td class="paramname"><em>gv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const graph_location_info_t *&#160;</td>
          <td class="paramname"><em>gli</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a1134b580f8da4de94ca6b1de4d37975e">uint32</a>&#160;</td>
          <td class="paramname"><em>flags</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set location info for given graph view If flags contains GLICTL_CENTER, then the gli will be set to be the center of the view. </p>
<p>Otherwise it will be the top-left. </p>

</div>
</div>
<a class="anchor" id="a5db5120b806800f2e9cab9ccb211fb45"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> viewer_get_gli </td>
          <td>(</td>
          <td class="paramtype">graph_location_info_t *&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="graph_8hpp.html#a6a4e00bdf5d8ad6ff4a8930ba922b067">graph_viewer_t</a> *&#160;</td>
          <td class="paramname"><em>gv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a1134b580f8da4de94ca6b1de4d37975e">uint32</a>&#160;</td>
          <td class="paramname"><em>flags</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get location info for given graph view If flags contains GLICTL_CENTER, then the gli that will be retrieved, will be the one at the center of the view. </p>
<p>Otherwise it will be the top-left. </p>

</div>
</div>
<a class="anchor" id="a7b6b4dbf2a1d9d2200152ef7957f0896"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> viewer_create_groups </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="graph_8hpp.html#a6a4e00bdf5d8ad6ff4a8930ba922b067">graph_viewer_t</a> *&#160;</td>
          <td class="paramname"><em>gv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pro_8h.html#a16a891be237a47eac68383da2ebc2fa6">intvec_t</a> *&#160;</td>
          <td class="paramname"><em>out_group_nodes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classqvector.html">groups_crinfos_t</a> &amp;&#160;</td>
          <td class="paramname"><em>gi</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This will perform an operation similar to what happens when a user manually selects a set of nodes, right-clicks and selects "Create group". </p>
<p>This is a wrapper around mutable_graph_t::create_group that will, in essence:</p><ul>
<li>clone the current graph</li>
<li>for each <a class="el" href="structgroup__crinfo__t.html">group_crinfo_t</a>, attempt creating group in that new graph</li>
<li>if all were successful, animate to that new graph. <dl class="section note"><dt>Note</dt><dd>this accepts parameters that allow creating of multiple groups at once; which means only one graph animation will be triggered. </dd></dl>
</li>
</ul>

</div>
</div>
<a class="anchor" id="a2ce86735da8bd32f757144dee5ce042e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> viewer_delete_groups </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="graph_8hpp.html#a6a4e00bdf5d8ad6ff4a8930ba922b067">graph_viewer_t</a> *&#160;</td>
          <td class="paramname"><em>gv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="pro_8h.html#a16a891be237a47eac68383da2ebc2fa6">intvec_t</a> &amp;&#160;</td>
          <td class="paramname"><em>groups</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>new_current</em> = <code>-1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Wrapper around mutable_graph_t::delete_group. </p>
<p>This function will:</p><ul>
<li>clone the current graph</li>
<li>attempt deleting the groups in that new graph</li>
<li>if successful, animate to that new graph. </li>
</ul>

</div>
</div>
<a class="anchor" id="a33ccbc2cc7d0a5eabdc2f3314cfd7301"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> viewer_set_groups_visibility </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="graph_8hpp.html#a6a4e00bdf5d8ad6ff4a8930ba922b067">graph_viewer_t</a> *&#160;</td>
          <td class="paramname"><em>gv</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="pro_8h.html#a16a891be237a47eac68383da2ebc2fa6">intvec_t</a> &amp;&#160;</td>
          <td class="paramname"><em>groups</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>expand</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>new_current</em> = <code>-1</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Wrapper around mutable_graph_t::change_visibility. </p>
<p>This function will:</p><ul>
<li>clone the current graph</li>
<li>attempt changing visibility of the groups in that new graph</li>
<li>if successful, animate to that new graph. </li>
</ul>

</div>
</div>
<a class="anchor" id="a562129a8e29bdf9d9462027a22a725ae"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> viewer_attach_menu_item </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="graph_8hpp.html#a6a4e00bdf5d8ad6ff4a8930ba922b067">graph_viewer_t</a> *&#160;</td>
          <td class="paramname"><em>g</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Attach a previously-registered action to the view's context menu. </p>
<p>See <a class="el" href="kernwin_8hpp.html" title="Defines the interface between the kernel and the UI. ">kernwin.hpp</a> for how to register actions. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>action name </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>success </dd></dl>

</div>
</div>
<a class="anchor" id="a1f3337111f08d4a141ee4058c2b9dc90"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="pro_8h.html#a6505e7ff3b129d8b17258304886fd133">idaapi</a> delete_mutable_graph </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classmutable__graph__t.html">mutable_graph_t</a> *&#160;</td>
          <td class="paramname"><em>g</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Delete graph object. </p>
<dl class="section warning"><dt>Warning</dt><dd>use this only if you are dealing with <a class="el" href="classmutable__graph__t.html" title="Base class used by graphs in IDA. ">mutable_graph_t</a> instances that have not been used together with a <a class="el" href="graph_8hpp.html#a6a4e00bdf5d8ad6ff4a8930ba922b067" title="graph view opaque structure ">graph_viewer_t</a>. If you have called <a class="el" href="graph_8hpp.html#a004fa6de6d0ea9e2711b927a7311a911" title="Set the underlying graph object for the given viewer. ">set_viewer_graph()</a> with your graph, the graph's lifecycle will be managed by the viewer, and you shouldn't interfere with it </dd></dl>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
</body>
</html>
